|
|
改了一下,这次运算应该没啥问题了8 D( C. e% _5 P# R( ^2 y4 i
( [5 ~9 k6 b/ L+ h
, G- d1 N6 L9 ?4 I' Z8 O
capture program drop hello; F5 f& C# @% z7 u! v0 E& ?
# b; h' \; c+ k" k6 v
program hello# s# A- k- f* _9 {: X5 n$ f) H
% h$ ^" U5 }# Q# q& Z) G' ?
quietly {
9 i; z. T5 t6 \- w, v4 O9 S
3 v0 w5 s2 T$ P1 ~5 bclear' o) b, \4 U0 ]+ G+ o
' n( t2 U" n) i/ d
cd e:\finance\stock\20110101\source; A" v% M5 \1 H0 W+ j
~# l4 n0 }7 t/ b8 U
insheet using `1'.txt
0 r# c6 l0 M: u% f$ d8 c" O
- A: F( z& u% S3 {$ R keep if v5>0
; s) {( d& s! R 4 ^% L/ h% f2 R% w2 _1 F
gen vt=_n2 D3 i, Z7 ]5 i5 q- @
5 E9 } E6 [1 t1 U* v$ `
tsset vt: u3 ?/ W" ~0 |+ @
5 d- ]$ p1 y @; z" t# s5 v( Y
gen zf=D1.v5
% E8 ~6 U5 \ b- T( Q- E1 r7 m: p4 V% f& |# A5 U8 g
gsort -v1
: e# R+ F9 M! r4 h( Y9 e$ N: A! N$ B" I
gen avol=v7/v5
/ U# a P0 \# I2 V
* G0 y2 Y: \9 ] keep if avol>0
( r- g: F5 p, M
$ s) L$ W0 \+ c drop vt
: y5 q0 n& V2 u6 H2 i: Q6 [ 6 V( V6 S6 b6 Z6 G- H6 a
gen vt=_n& I$ l# B8 e! B( @/ B b
/ I8 E! i$ |2 g3 n) y, |2 q" I; G tsset vt# i- l; _ \$ f
: Z8 K) r; J% d& ]( a sum v5 [aw =avol]
* y& i& [# o' ?% \! `/ y1 `2 c& E. l7 J9 _5 [" S0 X4 s! u
gen amean=r(mean) in 1
# h5 g2 C9 l1 p2 d6 @4 U
3 `( k9 Z8 @. M4 a$ H, {% ?3 g * 总加权平均值 amean
; u- ~* b" H2 E1 p8 L 3 m6 [) a# d( ?3 h" E, k
_: Z( _$ e* Q+ ~$ S, j6 L8 l
keep in 1/2400 p7 J9 e6 `: [1 r9 H z
( ^- A. q/ [* m5 q$ A
sum v5 [aw =avol]7 v, D1 U/ J' W C+ \2 X
8 c3 J* T1 X: @2 V7 e3 A9 u( P" i gen mean240=r(mean) in 1" K/ S0 b% ^% O+ c$ g0 u; @7 I; @
2 o( l/ Z Z* T5 R1 Z
*240加权平均值 mean240
" S" L( U8 J6 p) e! x
7 _: J& A& t: R. C( y set obs 500
7 X/ c3 X+ A* @& U+ g & G- |: B6 G% ?' u9 s. p. D
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
) _- S# T3 [ }( N: q4 c( _. d $ R4 X: g( M& V
*240 kdensity(dx240 dy240)7 p* @9 d1 a8 ~5 @( ]
* _& E5 I1 z: C2 ?& V. {/ B
sum dy2408 M3 h* Q4 ]; E. z
3 D% G2 C! A5 `7 a! [ m( j
gen yxis=r(max) in 1
: c" r) b7 V9 g0 h: R
$ L- d R @- U, E6 G gen yxis2=yxis/2
* i/ z# Q* [& ]% ?9 `6 b
2 H6 e p& c- u4 c *yxis
4 o0 R0 V }, B" T3 a
3 \- O% }# X. g gen dy240max=r(max)) u+ t# Q8 |% y( n
$ V$ W8 T8 M+ o) H) M2 v. z( C. a gen dy240minp=r(min)% Q: y' W$ Z/ A2 Z5 q
1 A9 w5 B# R1 M
gen vtt=_n8 s# [3 V1 `" {) |
) ^! W( J0 d# q2 }! Q2 G
tsset vtt
6 z( A* n9 ^ ]6 f9 r! R; S: W3 L; C# X
gen ddy240=D1.dy240/D1.dx2405 X2 L$ J# p. }) v+ E. C* G* s3 P& A
$ J' D$ c: A7 @* Q sum ddy240
) N4 ]* {/ j% E) W3 _+ v# A ; M+ V, W$ z; S1 W* G% i- j6 j
gen ddy240max=r(max)
( i) L5 c. m9 F+ {0 f2 ~
( |( S' r$ k* S$ e$ R! C' T gen ddy240min=r(min)3 Y+ j) m/ F: n5 u% M! W& S7 q
! K" s" ? u$ }( z7 ~4 F7 p! `
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
8 q7 G W1 Y2 z% @$ t( z
3 x: [) ?' C4 C/ {8 g. }- m# [ sum ddy240g8 |; {& x$ L8 h8 E; U0 R* e
* M6 t1 I+ u- K" } B5 J2 Q
gen yxis3=r(min) in 10 |) U9 I+ a5 r. \
+ g8 N/ X/ F1 d' [: R: _ P) f5 z gen yxis4=0 in 1% l( d% b9 F5 R: s# F
- M. n6 q) x2 o( q' t, o
*ddy240g ! J/ i: J: a1 x5 K- M
/ o- Z+ G* t [- `: W . `9 x: p( b" D7 L1 ^# O
preserve 4 \& a. |0 b$ R& x
8 J5 g {6 Q& y' ]
sum v5 [aw =avol]
- Q; r2 u. H/ @
& |, w7 d4 Z1 d: ] keep if dx240<r(mean)- B. ]8 W4 Q9 ^1 Z `4 R2 B
* B ~$ Z* T1 i" B sum ddy2408 @/ K: `% Z4 O; D& @
$ H1 z+ l- z6 S# l" h4 K
if r(min)<0 {
4 }6 P4 k% C! K' `5 ^: P
8 g3 i6 g6 W2 g keep if ddy240<=0
: D3 U2 M: i- d( q" J, K, R7 r ! i7 y+ Y0 L7 R
count1 C; |- q6 c+ t
" m: x& @+ [1 c) ? if r(N)>2 {
/ R) r/ Q8 L% V2 o, c
5 t3 {" y! s h; f, T pkexamine dx240 dy240
, n$ p" V+ F% b% `5 D9 a
! U) D( [' N- b local tempminp=r(tomc)
% w- R4 `6 c3 R" A l restore ) O+ h% x- i9 `% P2 Z. t
}, d/ O, s" Q8 W* T
. t7 g# P- M3 ^9 ?4 \7 ]
else {& f! z4 O! |: I2 }
: f8 ?) c# `+ f0 S9 f' g
di "cannot find minp"1 B% k0 z; S. p9 C% o+ P4 Q" ~' `
! i% _ T/ H* `8 M: ~* l
restore
6 B2 {7 W1 O- H7 C; x& N sum dx240
. O, ]5 Z" f+ a. a+ [ local tempminp=r(mean)
8 U5 r1 K3 |2 W% i& @ y
/ j0 C, T/ H8 m }
: d% Q' {6 a' Q3 @ }) C, T( e, }' B- B; I( ~$ U, A" o
else {
6 Y! T3 [ ?6 H5 A7 j* O; B 7 t% I) o9 i. e; B0 a% E+ y
keep if ddy240<=r(min)
& \! r5 E) [6 }, l) p9 P
9 i i. a* q6 _$ o2 N, s% l% C sum dx240
# A; Y8 Z% H/ P: D, I7 G [
2 ], k2 M! t3 Y3 t9 b& b( x local tempminp=r(min)
8 _7 Z& @3 T" B& \( w3 V: x) r* l3 E" Z# b restore
. j' h( x) j; n+ l, D, {' b }# d" g% r! `( O0 A; b
4 Q) k+ C6 J* _. J
) @! d4 p' E3 J0 e( T0 J
# J9 ` E r1 K6 f gen minp=`tempminp' in 1. c0 i# n5 e, C
*240 minp1 U9 P: i. ]$ [7 E' p# h! M
M/ T h9 R; v1 Z( n% @; k* z
; k' t: \- T- J: `; G9 _
[+ m: {2 X5 a- O% i preserve
! u! z; V2 A; b
3 s# q' u' D F sum v5 [aw =avol]
4 l* ^+ Z6 |, _# P( A . ]# z% E4 d5 g0 j' D/ Y- R
keep if dx240>r(mean): _! |" z5 I7 Z8 W
: x$ R' Z e4 X8 C7 ~ sum ddy240, R: F% e* H% S4 R: L* r8 @/ w
+ F. H* a- l* h6 h if r(max)>0 {" c; I( Y) ?+ g1 o# r
$ i9 z$ p* H8 p! K
keep if ddy240>=0/ L6 ] n( h% o. b A- e( i4 k1 X
! O9 n- H* J9 g, w) d
count
% M9 J4 @2 D& t7 M. B' Q8 ]( _+ g$ H 3 M& h( o" T) ]* f/ R
if r(N)>2 {
6 n6 P, g' ]3 {' @+ q, J+ p, } , s2 U9 n8 y& W5 Y6 w; @
pkexamine dx240 dy240
' P$ [! ?, w: }
5 c1 ?+ p; W; J: k: {' a& [) i local tempmaxp=r(tomc)
; e5 r( c8 s. Y& h ? restore
0 M% ] E/ {0 Z8 N& @ }
+ c/ H0 A [! R3 d7 D
+ r% u% G& {* F
1 T0 x: s/ w' @, L! b1 r else {' o- d) m; k4 Z- Q
restore ( K9 g6 p+ a* l* L4 F
di "cannot find maxp"
2 O0 d1 d) S; b( s' p$ F# Q% m ; Q; \( z+ ^4 q: x6 i
$ Y3 U4 |/ E. b& r+ I( A" {1 t$ n
sum dx240# R2 h% g2 ]/ U1 n
local tempmaxp=r(mean)" T7 F$ H( M+ w& f4 P& \
9 M" l# C; l% O: r, I1 O }( L' p0 E0 O( P) x
: t$ F. ?, @0 u& F9 f }" F! x2 P! @4 M) |; }, s' b# L
$ |0 \5 ^; q2 j1 d
else {* a- ]9 n) ?1 O% h. _
: z% G/ ? Z) J! b keep if ddy240>=r(max)1 [- l! H, z( U# G4 Y, W: {
* `! R7 m4 c3 {. d' D0 B
sum dx240
; v! x; R: t1 ]+ m - C) m+ r" e( V8 E: q8 h
local tempmaxp=r(max) ' m* a9 I. P2 V7 [
restore 5 Y; _! p/ g! Y- L S+ _) W
}$ T- U u4 v p3 j$ m
* U* S$ O1 e0 O. g
* N4 k2 S) R, [3 U. z2 {9 g4 V7 L/ w, Y
8 k1 ~2 c& I& Y8 O% V& f
9 d: ^+ L% t4 r gen maxp=`tempmaxp' in 1
0 O2 b; B5 Y* H2 n$ J. M; F; _ ) h" `. o h+ J- }
*240maxp# \; t, d( V* u% m( @2 w6 `# g
& z+ u( s, [8 {: ~
1 a: x: k3 Y- D* h3 t; \ *-------------ddy240pminp左侧高峰值-----
) ]# L F, f7 r$ Q 5 @# ^2 g' l! r7 K5 u
preserve * Y$ C* ~0 b. j) Q2 E4 ~
% B7 F! q. V3 i( i keep if dx240<`tempminp' }# `/ ?4 Y7 R
: U, c; y2 k3 ?" P% v# o keep if ddy240>0+ t. Q( N5 U. r, ]
- y7 i$ f z, ^% h" B5 |" Z count
, i T5 R; X! s F. z1 K$ n ! Y# C3 W8 V: V# I/ R* n. h S
if r(N)>2 {
! M; ]) Z) p1 U6 e$ ] P' ~/ m3 A+ V / t% k4 W, |8 Z
pkexamine dx240 ddy240: j! L" v2 n4 `; _. E5 n0 E
# Z/ W. O* z- W/ Y
local tempminphddy240=r(tomc)
' Z4 }; } H4 F1 e. ]; x$ _( ~ restore: |# Q! v' z7 x
}
. p9 ^, b0 P* u. ^6 C * r; B, r. j$ B2 k/ ?* L
else {' e3 a# ?% |) e
restore v# p: j3 s$ q. ]# Y
di "cannot find pminphddy240"
! ~- O# g% B- S" ?6 I4 x! I: i7 X 9 k( c& {) u5 O
. K7 o1 }/ V X( t
sum dx240
8 Z. J" I1 f: |, `" k5 g5 z O. O local tempminphddy240=r(mean)
+ ?: ]! N" o# G7 P3 y5 Z7 w% k # r9 _5 \9 _& Z. y7 ?' Z ]$ r
2 A- a+ q2 L2 {) E! F7 J8 Q
}$ t4 i8 \9 L& C- P3 n
+ p! D) m# ?4 \4 p) C+ f
; |$ ~4 v7 k6 P" y; q% [$ n & z% Q# d( M+ s. t
" M0 v1 p5 N. W
& B$ [ p6 A) Q; c) M" S ' W( S) O7 J7 H9 m; g
gen pminphddy240=`tempminphddy240' in 1. C; C" s; V: ~0 G8 w
[! L+ z. Y( m: F1 Z# a5 }; \" G
' _+ c9 ?5 v' x: B5 ]8 f2 V7 ^ *-------------ddy240pminp右侧低峰值 -----------------
. B, L$ p. I* O# Q preserve 1 } o8 H% b8 E. G
* \7 U% f" f; s
keep if dx240>`tempminp'6 G7 y3 i8 P" |4 X/ ~9 Y$ Z
$ ]2 B$ k* X+ g6 [3 U
keep if dx240<`tempmaxp'
- D+ L$ h9 V, a8 V1 b
, S! m$ p8 a2 l$ L9 U% x- h' r* @* u keep if ddy240<0) X! |" r3 s' i0 `0 F$ n/ X6 w7 V
, L4 P6 ^- ]* g \& ` T; _
gen temddy240=-ddy2402 K- T. `0 w u: K& a3 U; P% {; o$ p
( g4 u5 S& p, I- D7 g k, A count
% n2 \: B$ o2 R
8 ~# v4 t5 \: h; p if r(N)>2 {
6 U" B8 Z& M" p $ g% |3 T- m0 ^$ l: y
pkexamine dx240 temddy240& _& N1 }7 c9 B
2 g6 ? ?/ w* {9 l% j q
local tempminplddy240=r(tomc)
+ E1 {# r7 v7 k# v: M e restore4 A* [0 _2 V. a8 m+ C
}
8 [: b% h2 U( I2 ~
. F$ F R; Q+ u) y+ X else {2 _. d, Z4 }3 J% ~) ~
( X! ^4 I; {: I. d9 P) _& P di "cannot find pminplddy240"( b( L8 ` V4 a1 B$ x8 T# Z
restore
5 b/ O6 [4 v. n2 v/ a1 {2 Q
/ H, k0 t7 B1 q+ U/ Q w0 ^ sum dx240
! o+ X' b; ^' V2 H* H local tempminplddy240=r(mean)
% r- v. n" u5 d9 y/ t' e5 J- \
! s. k' q, R6 Z, s) a1 k
5 ~! J @0 I( [# J# O: [" z+ M }
( ~3 V8 ^, A4 B) `6 I- d W
: C% k4 S/ c3 a3 W
6 c. {3 E+ Y0 X- {' P) D" x: z
+ n: R8 V7 H) } % u9 _8 w2 _& D5 H6 Z
; u! B$ E: b$ p/ f+ Q gen pminplddy240=`tempminplddy240' in 1
0 x$ @7 {* C) e4 m/ [$ E7 g ! a1 J' v1 l7 F( @: u3 k* d
*-------------ddy240pmaxp左侧高峰值 -------------------
' Y* D: {. s$ H4 K 5 u" u+ t. _0 e& v8 j' y2 O6 \. \
preserve & y" S& M" M( y7 e6 g5 `
: Q' j, p1 W8 [. i3 ] J; Y5 d keep if dx240>`tempminp'
9 n& j. u! z5 ~" U; \( L1 ~! T- w - N* z' l. V# y1 R- D2 l
keep if dx240<`tempmaxp': w6 [. A0 V) ]% B0 Y5 M
7 n0 L0 ]3 `9 L0 I+ H keep if ddy240>09 W- o0 F; w/ R6 V% d' z7 N
count
- m1 r/ ]7 K7 i4 O
4 }; p( `/ c. k( o D if r(N)>2 {7 N8 V4 Q& t$ c5 b, m. H
/ ?7 m- ]; A! p5 v
pkexamine dx240 ddy240" l! _' c) j" }* w; u+ }; P
, c, z" t: c: ^2 d' F. {0 ~
local tempmaxphddy240=r(tomc)
. s! E9 h- L3 R$ V/ { 3 c0 s& `* a& P
restore
/ k! V& B4 p u" f0 U6 [; S }
: T( z2 d u1 d- {. M8 O" H6 i 2 p+ J$ c1 q8 }, y. I8 Y
else {7 T6 b8 ~ n ~5 j+ ]5 D/ c
/ n8 Q: L& @- e2 s7 W c& H
di "cannot find pmaxphddy240"
9 O# k* `7 z# |/ {$ O+ F; U$ ? restore
& h3 G" X/ ^+ }& }4 |, s
7 f5 r. Z0 s I5 Q2 q+ _0 A sum dx240+ S4 p9 Z% C& O! c# {
local tempmaxphddy240=r(mean) 9 |# b( k/ r; ]# e
+ r' r9 u7 e+ S$ r ; W: _+ s/ R; d+ T8 u) @
}6 x9 r% Q6 w- @* J% {
7 S# |$ M/ v: v8 G: R
B; i( ~# Q6 C6 E ; N) E' S1 a/ G; P$ B
0 V3 V8 f7 I% C! F
3 v6 d& b. t* [, C9 p# Q
! S- F+ {7 W7 H1 B4 X b) i3 V gen pmaxphddy240=`tempmaxphddy240' in 1
P' F4 }7 K8 `+ r0 o! ?* W) a E+ Y8 _9 d
7 i; E/ K2 j7 s* ^! X" n
6 b4 r" }! Q3 ~; y1 [7 y *-------------ddy240pmaxp右侧低峰值 -------------------
. c4 r: x6 f& E% N
- X* r& z, y& |6 \# e( g preserve
9 l/ X: }6 C- d% f9 G & M' z8 |1 Y' k* ^/ Y* I; t+ ~2 J
keep if dx240>`tempmaxp', w) b5 k) {9 F! |" O2 V
) {9 D Y( O9 y6 p. \ gen temddy240=-ddy240
- U6 ]7 H& O% f N1 s7 N; Z6 j* c
8 `5 S$ A4 m7 `( \1 g, W, k keep if temddy240>0
5 {7 k. i- v& l ( L; L+ Z x3 K' P4 V$ D: w& D
count
' P& d8 T2 T1 B9 V 1 T! v. X0 h& k- X2 E3 r: `& u" K
if r(N)>2 {
7 ^5 h/ t& U& [& X$ O9 r
4 x4 F# D2 [# y( K pkexamine dx240 temddy240
7 q1 |; m$ i$ {% z- x4 q* h$ q% O& U9 y
+ ^3 S7 i9 M& v local tempmaxplddy240=r(tomc)
/ D& i4 ~0 K" R restore9 A) G+ ?* A- J
}
& C8 r( F( G* a- ^+ E4 J) V+ A/ C \6 [/ H6 [1 P. T" p
else {
6 U; A o% N/ G2 W1 k5 {; { y! [: e restore
3 y0 {! `2 y' g8 I8 g di "cannot find pmaxlhddy240"
G5 W2 [+ m! x( q* S
3 |( k- e) y# T5 ?# L$ Y5 ?5 f- q- ~
& _2 {2 c& C; O8 E; M' u: v: b sum dx240
3 q4 ^* S/ {+ J7 X* P local tempmaxplddy240=r(mean) in 1
: q; b( E1 @' d5 ` 2 T5 N, v, d8 z. Z% T
6 v' _- A. ]- M- e }9 w' ^- v. N& c7 x% q& X
, Q7 d' j3 j$ Q# \& A1 f' x
1 N# ~1 v7 |3 ^- X
- q3 u. o+ Q; D( g. p3 Z2 L( L1 y
1 {! l+ R3 z1 }6 p+ Y
, u- k, t: ?$ ]8 M% I' Z) p1 q
7 D$ }/ E" x! D; Z: r6 _" D# O2 U gen pmaxplddy240=`tempmaxphddy240' in 1+ |' o, f* @8 X* @, b8 h
. |' `5 |+ O X: A6 T, | *-------------------------------------
8 `, Q: @) B. e( ^, N/ W' Z
1 p" I e1 }0 k8 `4 M gen price5d=v5 in 1/20
) g- {4 e8 E8 D" G: i3 a8 } 8 I/ Y3 {4 n; n" z1 v
gen price5yy=_n in 1/20
! W) ]: M- _8 I9 E9 u
{, W5 I5 s8 c7 E: i& L$ k gen price5y=price5yy*(dy240max-dy240min)/200 s: t- w. g( r8 p
: N& u/ g- w% o( Z ?) ~ *price5y &price5d
. [2 ^1 ^/ ^, [2 r7 g W% [ & A0 A2 s4 \3 F3 D1 E4 r: u
gen priceny=price5y in 16 e) Q; `* p3 o* ^, @2 g# G
2 G; z$ W' B9 Y c" u+ i- s y gen pricen=v5 in 1. {3 B5 n, W! z
8 l6 _) b' ]; n, P+ Z$ ^
9 S2 }/ q- w" L c: e
*priceny &pricen
2 c& b& j. v) Z, { Q% ^ + W) s( d, }. G/ ~
, u8 I) h" w4 w$ A6 O# l& l9 `
*-------------------------graph------------------3 o, O( G. e% d( Z
|6 z5 Q% ?& X. f( \1 E6 D" Q
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)
; P( S; |4 a4 {- |% ]+ I; p9 I: _
) C9 @7 [ r4 {/ V! v. |* ---------可选项目----------------------
4 X b3 F: M1 k% q/ w, b7 D; g S, h- l: `: n1 E6 w
}( L' d- b0 Z! @3 a
end! l$ S# P1 A; `; `
|
|