|
|
改了一下,这次运算应该没啥问题了+ c5 b+ N0 S8 _; \5 I6 \ |
4 `( V, c- F+ s
$ D1 z2 d7 D: f9 ecapture program drop hello: S8 o/ x' g- E" ^, v- r1 V" ]
4 e. J$ C7 N# K! v% X* [) v
program hello6 S2 z' w* P# P8 K% \
J# Q/ h0 X- D# X( K3 n4 J
quietly {, R; x2 t5 g2 m! Y% Q }2 a g% r t5 H
; P4 F3 c8 Z( q- F u% ~ \$ j; oclear
" K/ W6 U2 D! n, L6 O: s# e/ j* H$ C) Y2 ~: ~" Z
cd e:\finance\stock\20110101\source% o$ E/ t. C5 N; x9 j C$ U2 v
- C, W! H$ o& H3 i+ w: ^ \insheet using `1'.txt
9 p. T! Q: Y3 L( v
# Q0 _+ C4 A& S8 i keep if v5>0
0 D3 J ?" A: p3 [ 6 j# A4 Q* \! I$ \, I3 I4 ?: _7 O3 E
gen vt=_n# H# @+ }6 U8 ]" o0 v0 ~5 k
9 f$ }+ q# i! s) K0 Q tsset vt v2 a0 S2 q% |: P4 I
8 Z8 ~7 {9 B2 n* [/ }/ P
gen zf=D1.v5
; C: f, ~' T$ `. `; u- y" |2 l- l4 w0 q( v0 {
gsort -v1
( H H) G) z: y" ^$ v0 } l' ^$ S5 ]5 m5 U7 i+ f
gen avol=v7/v5
, S9 h ~! r# Z9 m- s# }2 P
# l7 F3 a/ T2 p5 h* T: z0 @7 P keep if avol>0
" v6 D. f$ g0 O; b' k- \2 e5 `
; A0 h0 w7 e6 \: w1 q4 s drop vt
3 t- {) J$ Y+ K2 e) ]" ^/ R
; V8 e1 c8 B& s5 o) _$ {: y gen vt=_n
. N" [5 N D* R' f0 _ " I- u* p$ x; L, j7 A1 p; p; f
tsset vt1 n" b. [/ C8 o Z& v
3 y6 V8 s1 U% c0 D- Z sum v5 [aw =avol]
! {% \2 M( U% u) X2 u `4 D1 z8 N6 Y _. _& k; c) Z" F
gen amean=r(mean) in 1- @( Q- I! v! A* |. }. u
3 p m" E" c. Q+ m4 R * 总加权平均值 amean0 X; m P: z) P4 \& C4 H2 C
0 \- u% \, X' Y j, u+ x5 K 3 L; U' D' c: Q- y) E) Y- w
keep in 1/240
4 \7 V1 E1 V- x( z
( M4 D* E; g" }0 @ sum v5 [aw =avol]) y4 T* a4 _ R) v9 J
h3 g! Q6 p* V7 M- x1 W: r gen mean240=r(mean) in 1
. ]# B! {, D/ D' m( ` 6 ~5 ]! @3 J* k
*240加权平均值 mean240$ e! u c( \8 [, f3 c
4 m; O, ?" I9 x* X7 V( `+ y+ r set obs 500
* E! H6 j# s+ S6 v5 }2 H4 k6 H0 O/ y * }# P9 f7 ?2 h. V
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph% H, l$ A9 S$ _' U1 P+ B4 y
' N% W/ o' q, n. ~
*240 kdensity(dx240 dy240)
1 I5 Z6 c% m6 P6 Y, y, h; S1 B! ]
6 t6 K) z- d- P& f3 ^3 { sum dy240+ n1 L/ H! p: }+ M4 T( U8 L: u
6 D; y9 z' {7 {
gen yxis=r(max) in 1
1 _) e7 O/ H( g3 ?
; K' S- Y+ d# d; f" x f gen yxis2=yxis/27 d' ?' U- E6 e
! Q8 \" q5 b4 f8 A3 O *yxis/ [( @7 g$ l* c ?& b
8 T6 M; D2 Q2 I
gen dy240max=r(max)
3 D; D4 e+ _4 \& r& F8 S; D
" ?9 o0 d" I% B0 A7 N gen dy240minp=r(min)! E3 d- Z1 L( D7 O) m3 R! D
" g. |$ ?$ y% S9 q ]1 A9 y" r5 U
gen vtt=_n7 r7 x* i' |- P# M( Z5 W2 `
8 r+ N+ S5 m* K: Y2 a9 b- X* D
tsset vtt
$ U1 v- Z5 ]9 }7 ?4 N2 c& n/ z+ | U5 e: k9 _& d/ v9 s5 @0 v% a! P
gen ddy240=D1.dy240/D1.dx240( H8 d) v0 s; N0 K7 D; d6 t
1 \; D0 U) W6 f7 M$ a6 J
sum ddy2408 h' g5 g& s4 q: X5 E& p
/ j$ q) p: N3 W. m/ } ]' y* [ gen ddy240max=r(max)
1 j* j, ~1 X8 @3 o 0 o0 s4 \! K7 {, R0 }$ C! _" M! x
gen ddy240min=r(min)4 _4 h6 q5 H- W2 a2 D/ j% } k
0 T& u9 W) R7 a! C; r1 _& Z
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
9 h8 U4 W) H ], s$ c$ B- T6 R q5 B8 ^' `5 L, f
sum ddy240g& O4 C1 x+ C$ e
' ~( C* u+ k. j gen yxis3=r(min) in 1
2 o, W- E5 J8 N1 P; L0 I 8 X* ]5 W, k3 S4 x) }
gen yxis4=0 in 1; P) M Q$ ]9 b e
. a E, W; p' [4 A) w! ^6 ?
*ddy240g
- ]1 e- u: o2 [7 }" G3 ^9 ~2 |% K ( t; D& \6 `' |/ h) D2 ]2 t- Z
) E, ^( q1 t" A' a
preserve 9 k6 Z7 t* P6 M7 P) I
- w2 u; b9 i3 w
sum v5 [aw =avol]1 b. K& K4 ?$ L
! [3 N/ b& T, M' p
keep if dx240<r(mean)
# W! w4 g" ^0 z! Y 8 j( F0 m/ ^& b
sum ddy240# X3 A3 g I% a
" r7 [+ m5 b" o if r(min)<0 {
( a( {/ z2 f6 O# J/ N2 q
* o. s" `2 y* s- H; t! p keep if ddy240<=0) j6 V) b j2 B
( p; K5 b% O$ c' z& u" [
count
# G& }( N @( O) ~. z4 d2 u " Q6 m/ s9 B9 R/ J& w, P2 K% f
if r(N)>2 {
- o; u: q6 E% F) O& a # J4 W9 \6 b3 @3 C
pkexamine dx240 dy240
: A7 W8 @/ h9 t, l9 H8 B ; M: p3 g+ m S7 a) p' q/ o( n
local tempminp=r(tomc)" z% c5 i/ D% O/ j
restore
$ p* h. d. p, }2 ~% I+ ] }6 ^* [1 [4 m! I- c
4 E3 H/ g0 n) F- a else {
- J! i; W7 L0 f2 ^! _
+ _ ?% H2 j" O! X& q1 y' c( @( | di "cannot find minp"
4 W' s" o3 v# ?3 ]4 ^ " d4 p K2 [! `1 j, c
restore
3 z! L2 J$ e: Z/ H) Z9 w- j( e8 ~ sum dx240
1 a; t0 Q& `2 {' Z/ l1 s+ @ local tempminp=r(mean)
* Y2 i f' x$ {" O + J% A/ D ]5 a0 R& q7 m
}/ U; f% X8 o- H
}
* c7 \; B: Q! f2 F else {+ Z2 T4 O1 i2 |) u5 A
4 L% o1 j9 ~6 J. A5 }1 l8 C keep if ddy240<=r(min)6 X2 m, B" R' k% w1 G: T; E0 d' T
g; i( D T( Z" B$ E
sum dx2404 h4 [; S7 n- J/ Z/ N" l
) h9 _; x. U* q local tempminp=r(min)2 ~" w% u; h: f7 q }# k' L- Y M
restore 7 |2 u; Q7 f7 [, P
}
8 H. Q* ]1 a6 N/ p9 O7 Z2 g
6 u( J, ?7 t K G/ y4 d" |; z0 C, A$ R0 X- Z4 |* W8 h3 d
9 ^3 v- P. J2 e gen minp=`tempminp' in 1" _4 x. f2 |4 J( Y1 J! Q9 q; x3 ^
*240 minp
, n+ l8 F/ P7 s+ T+ J. R0 R4 F2 r
3 O- \8 J& b" G1 D' n" [8 V& v7 {5 _2 E9 t2 S, |- ~, K- G X' g+ {
1 Y( I8 B: y% W3 q* m6 ]
preserve 6 V+ v' ]' C3 a; G
/ |2 P& t9 R/ b
sum v5 [aw =avol]/ h$ M/ t+ r* c1 I2 x4 l
, z5 _, f+ c; Q keep if dx240>r(mean)
$ ]2 X9 { C; r* T0 d) U1 b3 t
?4 q1 s8 m2 e4 \ sum ddy2402 j1 Z7 j) N/ o& @3 B# {5 e
9 P; P- m l, | if r(max)>0 {
% Q9 L- f( c# k$ B& u- ~8 h6 d9 @& c( O ) s8 G% z& n% L8 A1 f# S, X1 \
keep if ddy240>=0/ U. |. w, f4 v
7 X7 h/ U( Q- d count, m' F+ b5 x: P/ p! _
$ z' Y; W% ?7 P+ [ if r(N)>2 {
8 l7 H. ]" K% S, S% `
* _+ @8 d6 E( D- e pkexamine dx240 dy2405 z" V/ R' I# v1 s' L2 g! _
" k4 L1 F/ s" v) ]: x local tempmaxp=r(tomc) 1 y2 [, e$ y, _9 e: H
restore
! Q0 b. G% x0 T }
0 e7 x0 | o7 N! Z
. f7 N1 s$ G' I6 k3 Q) ^ ' B5 ?1 l1 X9 S R
else {4 c2 A! v5 |. t G
restore # a. J7 B: Y0 N$ R- G& ^1 G
di "cannot find maxp"6 a* g- H2 \" i5 H
( E0 ]1 V9 [9 I& g8 g# D* B" h, g
1 j' }6 c5 n( J/ h5 ?) Q( a
sum dx240! h q q, p! W0 k2 |
local tempmaxp=r(mean)/ `6 t. p/ k B2 R
8 j4 \* n# O0 O3 K- o }$ Z; d: b+ O% e( n! }. L# s
, ]% s+ C/ t, {$ y }' V e9 j- t+ [
y0 G" \- p4 [ else {; B$ G" ?" C$ a8 N- O5 l, X4 b
9 V8 G2 F8 [# i* @# l. c* V
keep if ddy240>=r(max)
% L' W' g* S5 x/ {8 S$ P) I * O) u) K+ H% X
sum dx240" ]; k! S! t- G0 i
1 j1 N; L1 v/ a: O" J% N local tempmaxp=r(max) . C- E# Q9 ^" ~
restore
' r/ R: k$ t: F }
) u" H6 c1 G6 `7 W$ S * v6 u, V/ r4 L$ X5 k3 F- L' r) K
( E9 T, f$ V# v3 y$ Z/ u; Z
# W4 M$ Z; R0 J" V
3 d0 l u3 _! M2 a% {; q- t gen maxp=`tempmaxp' in 1
# e7 n- z I' r2 \) Z . m5 n7 Q2 {% |5 W; Z
*240maxp
# H: M6 s* o- k) ^& g4 f/ ]2 n+ G ! s: R+ V0 C( ~# t% W/ c
3 y3 T# E' e8 e: S *-------------ddy240pminp左侧高峰值-----, M7 Q/ I1 g, I' B, ~
( l% W7 x v1 t; l2 k preserve ; B! V) u# g1 O0 Q# `
. T7 z* S; I! e1 h! z4 g) g
keep if dx240<`tempminp'
0 K% F! W: j, L! z" B' H # S0 n# ?9 K0 D
keep if ddy240>0
! o4 k( W7 D1 k) a$ I+ t
+ D( r5 n# ]: t, A# g count
3 P0 y( Z+ d, t
! p/ ~2 B; Z4 m l$ ? if r(N)>2 {
) _+ g. N6 D9 S. ?$ U' c
. ~2 M ^4 E' q. _4 x- J1 s# r" v; e pkexamine dx240 ddy240 K6 ~4 [: @1 V& H8 o$ T
5 \: B9 |: ~( A' n, X0 x
local tempminphddy240=r(tomc) 6 s: f/ j4 y* l& t/ n \" j
restore
) X- N; ]: \9 j; L% z1 `( p$ L }
2 N) k! c3 q: p6 v( K! t2 M" p - o+ S; J' y% I# W: S) a% X
else {
" G) N( F6 n! x restore 6 b( r$ C1 ]5 H* \* o) L
di "cannot find pminphddy240"
+ k- W4 z) C, _ f/ u U! m K 1 m- [ k/ i8 r5 ~
, P8 @! I" G& B sum dx240
7 e2 k" N7 _7 E3 ~ g local tempminphddy240=r(mean) , S. r- f* Y) p. g1 m/ {- D' W% X
! s( w- {: {3 R1 b) ~
" q Y+ [6 L4 V% m) ]* n& ^/ @
}
" V4 F0 J3 V6 J; z, ^3 W
( k H) R/ x) O2 @# u; j
7 s2 b/ P7 p2 I( C % q& N$ v7 E8 p7 M1 H) W3 W2 [
1 T6 X1 C& W0 I( j5 `, c' P8 S 3 f: `- Z A; r; z9 s5 i
2 a U+ a2 v7 V- ] s
gen pminphddy240=`tempminphddy240' in 1
$ Q* K" G; I. Q, e0 E : ?0 x2 Q" \' g$ \
0 m1 @: ^8 f& A0 a
*-------------ddy240pminp右侧低峰值 -----------------
4 o1 ]. v1 e# L& r2 g" h# d preserve
G: S7 {; m, l) { ! r+ K* q' w. |, l! G
keep if dx240>`tempminp'
. ?9 B% C w _ {7 P4 O : L% r+ S1 Q( Y" X. u
keep if dx240<`tempmaxp'
( l' _0 G- }# l0 m5 T - [- q3 V; Y& j2 n
keep if ddy240<05 T; }% H! T; |, Y. w2 ^ B/ `
2 w: L* Z* v7 d gen temddy240=-ddy2400 i8 x! H: ?3 |- o; Q+ U3 c
( r- _# P/ H/ x1 E5 j6 E
count
6 m2 g' x$ b6 G1 N( z' |5 ` 9 ? }! ]' Q. I- v% P/ Z
if r(N)>2 {/ N) c) ?1 F# H( p5 r% j9 I
1 F. \% T5 [4 |/ _! R. d% g- J
pkexamine dx240 temddy240- N; E V4 Z5 ~1 ` d
Z: {$ B2 M# g, \ local tempminplddy240=r(tomc)
% F7 P- O) o& |" W restore
1 s- ^1 l% x n+ k4 c- { }$ e) B. w. n: z8 K' R$ ^8 R
/ S& M: @$ l8 d) Z' N" |" t
else {
1 U2 |. w$ {8 Z# g* y8 ?3 E 1 X" y2 F6 U& o; t5 K( Y' T
di "cannot find pminplddy240"/ p; s% c+ ^5 y0 ^
restore) t4 V/ Q# {, `9 L; A) k& X
% m' B+ J2 i- t. u) T sum dx240
! ?: q8 e4 ~5 e: t8 u& t: X. ? local tempminplddy240=r(mean)# M# S+ M% \$ I7 h. ]
- k' Y' q- l: O$ n: T* w
x. ^+ B% a( { A. } }+ N& U4 D, ?6 L+ W2 j6 p1 [' U
) x2 h% x, @% @" W
4 j9 c3 o, N' U! v - V* v+ G/ Y$ x2 c1 x: _3 U
/ |! K% r+ S) L+ u& L0 ^
4 p+ |' w: k( n( u% R5 I gen pminplddy240=`tempminplddy240' in 14 W$ |% A" l2 \! {! G
8 f3 F0 O) O3 q! R" y8 t N
*-------------ddy240pmaxp左侧高峰值 -------------------
$ C0 M7 k3 \9 e. c; u
. j0 D9 H4 g& t; a preserve 6 Z8 R. I* o6 U
( a& L* I0 u \. f/ p$ r2 I keep if dx240>`tempminp'5 b; U1 F; \) y, ~
, {" ~0 [0 e2 D) h! z keep if dx240<`tempmaxp'( m2 v/ X4 @7 F8 p* `6 r; V: ?
7 a! `$ t0 [) Q+ ?/ q* N
keep if ddy240>01 `4 _/ S4 s3 j# m
count
% x* X& B8 I; b9 \ % E; g% Y- X' }" ^
if r(N)>2 {
6 \! Z; T: j1 L: ?3 g0 F
4 W- v6 I3 ^% k, `0 i5 } pkexamine dx240 ddy240% D- s0 D% C' u$ a3 A
; f3 c& V" v# r3 g; h, p+ H1 [) E$ w
local tempmaxphddy240=r(tomc)
4 @6 ~9 i7 n: |8 S 4 Y6 _! k" M, G3 E4 L) _! e$ k' ~8 d
restore3 m. M9 B9 O- T, G! H( d% G3 @: d
}
% B. A% b. E; i1 l
) K: L) }4 t/ u( X8 q: c3 ^ else {' r3 C$ D* o- @; [, c+ y5 n' V
; l$ M7 _$ [+ _% A+ t di "cannot find pmaxphddy240"* a% J$ Y. O( K/ b7 i8 n3 }
restore1 `; z: v5 X \' s
0 r& V7 x/ U: Q. N
sum dx240
& ]/ P6 {- W5 \0 w local tempmaxphddy240=r(mean) / H$ Z' g2 u B, ?; I
! A9 M' L; W6 `. ^2 d
+ v/ A( ^9 ~6 e; S# K. \! [. }0 y }
) @7 H2 ~, _: k1 ~- S m5 { ( _3 j% H1 \2 a
: Z% [* q; Y# k% E
) l9 m" K" N- z0 Q/ {; _
( v8 q, R' ^/ \( n9 H. X/ Z& r% W2 q
2 w% @4 r/ W: l# o
- j5 R `; m) d1 q. m# u, _2 Y% T gen pmaxphddy240=`tempmaxphddy240' in 1
' C7 n+ W2 |7 P: b$ l4 i* [. H
# f+ ?7 u2 G& `- g7 m
$ o% `4 v3 e! n1 | *-------------ddy240pmaxp右侧低峰值 -------------------" a% `7 B; D$ a) I
# J; ?0 t- g; p) _- Q+ } preserve 1 [8 W: b% _) @- L5 p7 F
: p8 Z- N# X0 \' J+ F( K/ N keep if dx240>`tempmaxp'
5 ]5 M S! i% ~9 {; _
/ Z8 p3 Q$ l8 X7 P4 x gen temddy240=-ddy240( | P/ h" k+ ]0 O& Z
7 G9 ?& }( V. b% Y+ n
keep if temddy240>0) ^1 H; w" o9 i% G* l4 b
0 l, B8 d' {: S- D3 N count) ^" s* c& l) c C+ d
+ o/ L) d+ r2 K& e
if r(N)>2 {6 `! F2 ~1 S- w! r* O
6 ~: n9 l, K# y; z. \4 J$ q pkexamine dx240 temddy240
0 O( A8 }: }$ j9 m9 g
# r& [7 w, ~- u/ C! b" c$ ^ local tempmaxplddy240=r(tomc) . |9 G/ y$ H/ n/ {
restore ?% Q1 H$ d! @2 C
}
) a6 V' ^8 f' j" B
6 W1 H1 p$ P8 r8 K# [- O8 H else {, P2 {) g4 Y6 @: S' p
restore
2 o8 D1 ]9 S4 a% }' D, w di "cannot find pmaxlhddy240"% t; u/ T5 i6 b) L/ r4 S, N# W
0 }8 [/ N* H$ t: B, X! a ' M! g! S! U+ R% z* q4 h
sum dx240
& h T: R4 _! X* [ local tempmaxplddy240=r(mean) in 1' E* i6 l u& t5 ]* x3 g
, H2 h6 r, y4 i8 f( M
|; l. x% U- {6 B; F( Y
}
# N/ g+ p: k1 G 0 N* o' w# U) {/ g6 g% S1 v
6 o# h& S5 b Q: I0 }8 D: S: ?
. P# x4 _; n$ \8 P: Z @- F( ` 4 b+ p" U O1 r ?1 K- S
6 U" O7 w; c6 C, E; b- J1 r , @$ V! {- R5 T1 Z+ U9 H
gen pmaxplddy240=`tempmaxphddy240' in 1
`) A1 Q; @8 m. J4 c
! ~" i8 i7 ] |' z5 m *-------------------------------------
* ?5 ]5 y2 {! U! ~; ~0 u ' i9 i+ x0 x, |0 v" [0 i
gen price5d=v5 in 1/20
$ n" g- _4 Y. |( j- h - r$ }3 W" s: [8 d P* `. ?
gen price5yy=_n in 1/20
2 k( V$ g5 Z* C7 m 7 g: c( ?5 V+ |8 Y( y/ Y
gen price5y=price5yy*(dy240max-dy240min)/200 b! z/ B& r3 r g
( X: D5 p+ {# J6 K: _9 w. E: z *price5y &price5d s7 S" j# F$ o( c6 c
* t6 {; a& t. f( F2 |
gen priceny=price5y in 1' z/ i' G) e% ]4 p% q! t6 k; c
) p z L8 z3 G7 ~ gen pricen=v5 in 1
3 L1 d `4 r/ z# ]( |. l- @4 _. h% q( G3 ~5 z: m
, p- ?8 ? R$ X8 f *priceny &pricen0 Q1 Q9 o& d1 l/ c
& G5 M$ o l6 ?/ l: I& n
! @3 O& r0 ]+ G' X: c' w *-------------------------graph------------------
& H7 W9 d" }: {- w; W& G1 }: ^
+ X/ j! j( v5 z2 z: ~ tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)! S. m9 E! D. t1 ]0 g& M
7 p F% @" q, i$ W! h: `: _4 s* ---------可选项目----------------------
6 b" j3 U' k$ |! J" `5 |: X
# I4 @. u) }/ }. X}
! p3 s& i' i0 ^; Fend
% C' F% D( s- h( U0 t |
|